import java.util.HashSet;
import java.util.PriorityQueue;
import java.util.Scanner;
import java.util.Set;

public class LanQiaoPractice1 {
    /*
    这一题我开始没做出来, 考虑拼接字符串, 列取出了所有的平方数, 然后全部拼接一遍, 发现一直有一个
    用例通不过, 应该是前导0的问题, 改变了一下做法
     */
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int a = in.nextInt();
        int b = in.nextInt();
        int[] vis = new int[1000001];
        for (int i = 1; i < 1000001; i++) {
            if(i * i >= 1000001){
                break;
            }
            vis[i * i]++;
        }
        for (int i = a; i <= b; i++) {
            if(vis[i] > 0){
                String ss = String.valueOf(i);
                for (int j = 1; j < ss.length(); j++) {
                    int x = Integer.parseInt(ss.substring(0,j));
                    int y = Integer.parseInt(ss.substring(j,ss.length()));
                    if(vis[x] > 0 && vis[y] > 0){
                        System.out.println(i);
                    }
                }
            }
        }
    }
}
